package com.zyz.L_泛型.通配符;

import java.util.ArrayList;

/**
 * @author: vick
 * @Date: 2025/4/2
 * @Description:
 * @version: 1.0
 */
public class Test {
    public static void main(String[] args) {
        ArrayList<AA> listAA = new ArrayList<>();
        listAA.add(new AA());
        listAA.add(new AA());
        listAA.add(new AA());
        //异常，因为只能传BB或者BB的子类
        //show1(listAA);
        show2(listAA);

        ArrayList<BB> listBB = new ArrayList<>();
        listBB.add(new BB());
        listBB.add(new BB());
        listBB.add(new BB());
        show1(listBB);
        show2(listBB);


        ArrayList<CC> listCC = new ArrayList<>();
        listCC.add(new CC());
        listCC.add(new CC());
        listCC.add(new CC());
        show1(listCC);
        //异常，因为只能传BB或者BB的父类
        //show2(listCC);
    }

    //只能传BB或者BB的子类
    public static void show1(ArrayList<? extends BB> bbs) {

    }

    //只能传BB或者BB的父类
    public static void show2(ArrayList<? super BB> bbs) {

    }
}
